home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 8
/
FM Towns Free Software Collection 8.iso
/
t_os
/
artemis
/
artsrc2
/
rsktiff.h
< prev
next >
Wrap
C/C++ Source or Header
|
1994-06-01
|
5KB
|
150 lines
/*
rsktiff.h
*/
/*--------------------------------------------------------------------------
TIFF形式 画像セーブ・ロード関数
putimagefunc, getimagefunc:
int func(char *buf, int yofs, int ylen) の形式にすること
ロード方法:
プログラムの最初で
ginit();
TIFFinitwork();
を呼んでおく。(EGB_init は呼ばない)
他のEGB 関数を用いたいときは、EGB_work というグローバル変数を
用いること。
ロードは、
TIFFinitwork();
TIFFload ( "a.tif", 0, 0 );
のように行う。2つの数値はロード位置。
セーブ方法:
ginit (); TIFFinitwork(); を呼んでおく必要があるのはロードと同じ。
セーブは、
TIFFsave ( "a.tif" , 0,0, 319, 239, 1 );
のように行う。最後の1は、「圧縮あり」の意味。
最後の数値を0にすると、非圧縮セーブする。
とちゅうの4つの数値は、セーブする範囲。
この例では、(0,0)~(319,239)の範囲をセーブしている。
--------------------------------------------------------------------------*/
typedef struct {
int xlen,ylen;
bool compress;
int pixelsize;
} TIFFinfo;
int TIFFinitwork();
int TIFFload(char *fname, int x0, int y0);
void TIFFload_putimagefunc(int (*func)());
int TIFFsave(char *fname, int x1, int y1, int x2, int y2, bool compress);
// 返値 0=成功
// -1=画面モード/ファイル名の間違い
// -2=メモリ不足
// -3=ディスク領域不足
// -4=get関数エラー
void TIFFsave_getimagefunc(int (*func)());
int TIFFgetinfo(char *fname, TIFFinfo *info);
// 返値 0=正常終了
// -1=ファイルが存在しない
// -2=TIFF形式ではない
// -3=メモリが足りない
extern char _egbwork[];
extern char *EGB_work;
extern int _scrmod[];
extern int _nowscrmod;
extern int _wrtpage;
void ginit(void);
void gscreen(int mode);
void gramscr(int page, int mode, char *buf);
void gpset(int x, int y, int col, int mode);
void gline(int x1,int y1,int x2,int y2,int col,int mode);
void gscrzoom(int xrate, int yrate);
void gdsparea(int xsize, int ysize);
void gdsploc(int x,int y);
void ghline(int x1, int x2, int y, int col, int logop);
void gvline(int x, int y1, int y2,int col, int logop);
void gboxfill(int x1,int y1,int x2,int y2,int col,int logop);
void grboxfill(int x1,int y1,int xlen,int ylen,int col,int logop);
void gboxline(int x1,int y1,int x2,int y2,int col,int logop);
void grboxline(int x1,int y1,int xlen,int ylen,int col,int logop);
void gblkcpy(int sx,int sy,int xlen,int ylen,int spage,
int dx,int dy,int dpage,int op);
void gputblk(char *buf, int dx,int dy,int xlen,int ylen,int op);
void gwrtpage(int page);
void gdsppage(int pri, int dspsw);
int gpoint(int x,int y);
int extwildcard(char *wildcard, char *namebuf[], int maxnames);
void grp_getblk(int x1, int y1, int xlen, int ylen, char *buf);
void grp_putblk(char *data, int x1, int y1);
void grgetblk(char *buf, int x1, int y1, int xlen, int ylen);
void grputblk(int x1, int y1, int xlen, int ylen, char *data, int op);
#define grp_putblk grputblk
#define grp_getblk grgetblk
// 昔の grp_putblk, grp_getblk は隠滅する
void grp_putblk_zoom(int x1, int y1, int xlen, int ylen, char *data,
int op, int zoomx, int zoomy);
void grp_boxfill(int x1, int y1, int xlen, int ylen, int col, int mode);
void grp_boxline(int x1, int y1, int xlen, int ylen, int col, int mode);
void grp_cls(void);
void grp_copy(int sx1, int sy1, int sxlen, int sylen, int sp,
int dx1, int dy1, int dp, int mode );
void grp_dispPos(int x, int y);
int grp_getMode(void);
void grp_init(void);
void grp_line(int x1, int y1, int x2, int y2, int col, int mode);
void grp_setplt(int plt, int rgb /* bit23-16:赤 bit15-8:緑 bit7-0:青 */);
int grp_getplt(int plt); /* ret: bit23-16:赤 bit15-8:緑 bit7-0:青 */
int grp_point(int x, int y);
void grp_pset(int x, int y, int col, int mode);
void grp_mode ( int mode );
void grp_mode2 ( int mode );
void grp_scrZoom( int xrate, int yrate );
void grp_putstr(int x, int y, char *str, int col );
int grp_getWrtpage(void);
void grp_setWrtpage(int page);
void wait_vsync();
// sprlib.c
void sp_init(int dispnum), sp_end();
void sp_16colspr(int n);
void sp_def(int patn, char *pattern);
void sp_pltblk(int pltblkn, char *pltblk);
void sp_put(int index, int x, int y, int patn, int pltblk);
void sp_erase(int index, int num);
void key_init(void);
char key_get(void);
int key_chk(void);
char key_read(void);
void key_clrbuf(void);
void text_init(void);
void text_end(void);
void minit(),mend();
void rdmos(MSDAT *msdat);
void mous_setpos(MSDAT *msdat, int x,int y);
void mous_typeRom(int type);
void mous_type(int mode, char *pattern);
void poked(int sel, int ofs, unsigned int dat);
unsigned int peekd(int sel, int ofs);
int getftime(char *fname, TIME *timebuf); // 成功すれば 0
void getnowtime(TIME *timebuf);
/* end of rsktiff.h */